
import java.sql.*;
import javax.swing.*;
/**
 *
 * @author Ana
 */
public class conexion {
/*final private String driver = "org.postgresql.Driver";//sun.jdvc.odbc.JdbcOdbcDriver
final private String url = "jdbc:postgresql://localhost:5432/systock";
final private String usuario = "postgres";
final private String contrasenha = "123456";*/
final private String driver = "org.postgresql.Driver";//sun.jdvc.odbc.JdbcOdbcDriver
final private String url = "jdbc:postgresql://localhost:5432/systock";
final private String usuario = "postgres";
final private String contrasenha = "postgres";
private Connection conexion;//este objeto es el responsable de realizar la conexion con la BD
public Statement statement;//defino estas dos clases como publicas para que las demas clases puedan
//utilizarlas, el stament es el responsable de abrir el camino hasta la BD
public ResultSet resulset;//objeto que almacena el resultado de los comandos SQL
public Connection conectar;

public boolean connect()
{
    boolean result = true;
    try
    {
        Class.forName(driver);
        conexion = DriverManager.getConnection(url,usuario,contrasenha);
        //JOptionPane.showMessageDialog(null, "Conectado");
    }
    catch (ClassNotFoundException Driver)
    {
       JOptionPane.showMessageDialog(null, "Driver no localizado "+Driver);
       result = false;
    }
    catch (SQLException Fuente) //tratamiento de error
	{
		JOptionPane.showMessageDialog(null, "Error en la concexión con la fuente de datos"+
                  Fuente);
		result = false;
	}
	return result;
}
public boolean conectar()//metodo que realiza la conexion propiamente dicha
{
	boolean result = true;//variable que almacena los valores booleanos, comienza con true

	try
	{
		Class.forName(driver); //primero intenta cargar el driver
		conexion = DriverManager.getConnection(url, usuario,contrasenha);//creo la conexion
                JOptionPane.showMessageDialog(null, "Conecto");
	}
	catch (ClassNotFoundException Driver) //tratamiento de error
	{
		JOptionPane.showMessageDialog(null, "Driver no localizado"+ Driver);
		result = false;
	}

	catch (SQLException Fuente) //tratamiento de error
	{
		JOptionPane.showMessageDialog(null, "Error en la concexión con la fuente de datos"+
                  Fuente);
		result = false;
	}
	return result;
}

	public void desconectar()

	{
		boolean result = true;
		try
		{
			conexion.close();
			JOptionPane.showMessageDialog(null, "Base de datos cerrado");
		}

		catch (SQLException erroSQL) //tratamiento de error
	{
		JOptionPane.showMessageDialog(null, "No fue posible cerrar la conexion con la BD"+
erroSQL.getMessage());
		result = false;
	}
}
//metodo para ejecutar los comandos del SQL, este sql que aparece como parametro
//va a ser el sql que se le va a pasar como parametro desde el formulario ciudad, cliente, etc.
	public void executeSQL(String sql)
	{
		try
		{
			statement = conexion.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE, ResultSet.CONCUR_READ_ONLY);
			resulset = statement.executeQuery(sql);//en este resulset vamos a almacenar todos los campos de las tablas ciudad, cliente, etc
		}
		catch(SQLException sqlex)
		{
			JOptionPane.showMessageDialog(null,"No fue posible ejecutar el comando SQL " +sqlex +"el sql pasado por parametro fue "+sql);
		}
	}
}

